package com.tql.mall.user.utils;

import org.springframework.util.StringUtils;

import java.lang.reflect.Field;


public class VertifyUtil {

    /**
     * 判断对象属性值是否完整（存在一个属性值为null，则返回false）
     * @return
     */
    public static Boolean isInfoComplete(Object obj){
        // 得到类对象
        Class clazz = (Class) obj.getClass();
        //得到属性集合
        Field[] fs = clazz.getDeclaredFields();
        boolean flag = true;
        //遍历属性
        for (Field f : fs) {
            try {
                // 设置属性是可以访问的(私有的也可以)
                f.setAccessible(true);
                // 得到此属性的值
                Object val = f.get(obj);
                // 只要有1个属性为空,那么该对象就没有被完整封装
                if(StringUtils.isEmpty(val)) {
                    flag = false;
                    break;
                }
            }catch (IllegalAccessException e){
                e.printStackTrace();
            }
        }
        return flag;
    }


}
